#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include "patch.h"

int main(int argc, char** argv) {
	struct PatchByte patches[] = {
		{ 0x4200, 0x00, 0xF0 },
		{ 0x4201, 0x00, 0x40 },
		{ 0x4202, 0x00, 0x2D },
		{ 0x4203, 0x00, 0xE9 },
		{ 0x4204, 0x00, 0x0C },
		{ 0x4205, 0x00, 0x70 },
		{ 0x4206, 0x00, 0x8D },
		{ 0x4207, 0x00, 0xE2 },
		{ 0x4208, 0x00, 0x5C },
		{ 0x4209, 0x00, 0x11 },
		{ 0x420a, 0x00, 0x9F },
		{ 0x420b, 0x00, 0xE5 },
		{ 0x420c, 0x00, 0x00 },
		{ 0x420d, 0x00, 0x0D },
		{ 0x420e, 0x00, 0x2D },
		{ 0x420f, 0x00, 0xE9 },
		{ 0x4210, 0x00, 0x10 },
		{ 0x4211, 0x00, 0xD0 },
		{ 0x4212, 0x00, 0x4D },
		{ 0x4213, 0x00, 0xE2 },
		{ 0x4214, 0x00, 0x54 },
		{ 0x4215, 0x00, 0x21 },
		{ 0x4216, 0x00, 0x9F },
		{ 0x4217, 0x00, 0xE5 },
		{ 0x4218, 0x00, 0x00 },
		{ 0x4219, 0x00, 0x80 },
		{ 0x421a, 0x00, 0xA0 },
		{ 0x421b, 0x00, 0xE1 },
		{ 0x421c, 0x00, 0x00 },
		{ 0x421d, 0x00, 0x20 },
		{ 0x421e, 0x00, 0x92 },
		{ 0x421f, 0x00, 0xE5 },
		{ 0x4220, 0x00, 0x04 },
		{ 0x4221, 0x00, 0x00 },
		{ 0x4222, 0x00, 0x90 },
		{ 0x4223, 0x00, 0xE5 },
		{ 0x4224, 0x00, 0x00 },
		{ 0x4225, 0x00, 0x10 },
		{ 0x4226, 0x00, 0x91 },
		{ 0x4227, 0x00, 0xE5 },
		{ 0x4228, 0x00, 0x7D },
		{ 0x4229, 0x00, 0x4C },
		{ 0x422a, 0x00, 0x02 },
		{ 0x422b, 0x00, 0xEB },
		{ 0x422c, 0x00, 0x40 },
		{ 0x422d, 0x00, 0x11 },
		{ 0x422e, 0x00, 0x9F },
		{ 0x422f, 0x00, 0xE5 },
		{ 0x4230, 0x00, 0x04 },
		{ 0x4231, 0x00, 0x00 },
		{ 0x4232, 0x00, 0x98 },
		{ 0x4233, 0x00, 0xE5 },
		{ 0x4234, 0x00, 0x00 },
		{ 0x4235, 0x00, 0x60 },
		{ 0x4236, 0x00, 0xA0 },
		{ 0x4237, 0x00, 0xE3 },
		{ 0x4238, 0x00, 0x00 },
		{ 0x4239, 0x00, 0x10 },
		{ 0x423a, 0x00, 0x91 },
		{ 0x423b, 0x00, 0xE5 },
		{ 0x423c, 0x00, 0x78 },
		{ 0x423d, 0x00, 0x4C },
		{ 0x423e, 0x00, 0x02 },
		{ 0x423f, 0x00, 0xEB },
		{ 0x4240, 0x00, 0x30 },
		{ 0x4241, 0x00, 0x01 },
		{ 0x4242, 0x00, 0x9F },
		{ 0x4243, 0x00, 0xE5 },
		{ 0x4244, 0x00, 0x30 },
		{ 0x4245, 0x00, 0x11 },
		{ 0x4246, 0x00, 0x9F },
		{ 0x4247, 0x00, 0xE5 },
		{ 0x4248, 0x00, 0x06 },
		{ 0x4249, 0x00, 0x50 },
		{ 0x424a, 0x00, 0xA0 },
		{ 0x424b, 0x00, 0xE1 },
		{ 0x424c, 0x00, 0x00 },
		{ 0x424d, 0x00, 0x00 },
		{ 0x424e, 0x00, 0x90 },
		{ 0x424f, 0x00, 0xE5 },
		{ 0x4250, 0x00, 0x00 },
		{ 0x4251, 0x00, 0x10 },
		{ 0x4252, 0x00, 0x91 },
		{ 0x4253, 0x00, 0xE5 },
		{ 0x4254, 0x00, 0x72 },
		{ 0x4255, 0x00, 0x4C },
		{ 0x4256, 0x00, 0x02 },
		{ 0x4257, 0x00, 0xEB },
		{ 0x4258, 0x00, 0x20 },
		{ 0x4259, 0x00, 0x11 },
		{ 0x425a, 0x00, 0x9F },
		{ 0x425b, 0x00, 0xE5 },
		{ 0x425c, 0x00, 0x06 },
		{ 0x425d, 0x00, 0x40 },
		{ 0x425e, 0x00, 0xA0 },
		{ 0x425f, 0x00, 0xE1 },
		{ 0x4260, 0x00, 0x00 },
		{ 0x4261, 0x00, 0x10 },
		{ 0x4262, 0x00, 0x91 },
		{ 0x4263, 0x00, 0xE5 },
		{ 0x4264, 0x00, 0x6E },
		{ 0x4265, 0x00, 0x4C },
		{ 0x4266, 0x00, 0x02 },
		{ 0x4267, 0x00, 0xEB },
		{ 0x4268, 0x00, 0x14 },
		{ 0x4269, 0x00, 0x11 },
		{ 0x426a, 0x00, 0x9F },
		{ 0x426b, 0x00, 0xE5 },
		{ 0x426c, 0x00, 0x04 },
		{ 0x426d, 0x00, 0x00 },
		{ 0x426e, 0x00, 0x88 },
		{ 0x426f, 0x00, 0xE5 },
		{ 0x4270, 0x00, 0x08 },
		{ 0x4271, 0x00, 0x00 },
		{ 0x4272, 0x00, 0xA0 },
		{ 0x4273, 0x00, 0xE1 },
		{ 0x4274, 0x00, 0x00 },
		{ 0x4275, 0x00, 0x10 },
		{ 0x4276, 0x00, 0x91 },
		{ 0x4277, 0x00, 0xE5 },
		{ 0x4278, 0x00, 0x69 },
		{ 0x4279, 0x00, 0x4C },
		{ 0x427a, 0x00, 0x02 },
		{ 0x427b, 0x00, 0xEB },
		{ 0x427c, 0x00, 0x04 },
		{ 0x427d, 0x00, 0x31 },
		{ 0x427e, 0x00, 0x9F },
		{ 0x427f, 0x00, 0xE5 },
		{ 0x4280, 0x00, 0x00 },
		{ 0x4281, 0x00, 0x10 },
		{ 0x4282, 0x00, 0x93 },
		{ 0x4283, 0x00, 0xE5 },
		{ 0x4284, 0x00, 0x0C },
		{ 0x4285, 0x00, 0x00 },
		{ 0x4286, 0x00, 0x8D },
		{ 0x4287, 0x00, 0xE5 },
		{ 0x4288, 0x00, 0x08 },
		{ 0x4289, 0x00, 0x00 },
		{ 0x428a, 0x00, 0xA0 },
		{ 0x428b, 0x00, 0xE1 },
		{ 0x428c, 0x00, 0x64 },
		{ 0x428d, 0x00, 0x4C },
		{ 0x428e, 0x00, 0x02 },
		{ 0x428f, 0x00, 0xEB },
		{ 0x4290, 0x00, 0xF4 },
		{ 0x4291, 0x00, 0x10 },
		{ 0x4292, 0x00, 0x9F },
		{ 0x4293, 0x00, 0xE5 },
		{ 0x4294, 0x00, 0x00 },
		{ 0x4295, 0x00, 0x10 },
		{ 0x4296, 0x00, 0x91 },
		{ 0x4297, 0x00, 0xE5 },
		{ 0x4298, 0x00, 0x00 },
		{ 0x4299, 0x00, 0xB0 },
		{ 0x429a, 0x00, 0xA0 },
		{ 0x429b, 0x00, 0xE1 },
		{ 0x429c, 0x00, 0x08 },
		{ 0x429d, 0x00, 0x00 },
		{ 0x429e, 0x00, 0x98 },
		{ 0x429f, 0x00, 0xE5 },
		{ 0x42a0, 0x00, 0x5F },
		{ 0x42a1, 0x00, 0x4C },
		{ 0x42a2, 0x00, 0x02 },
		{ 0x42a3, 0x00, 0xEB },
		{ 0x42a4, 0x00, 0xE4 },
		{ 0x42a5, 0x00, 0x10 },
		{ 0x42a6, 0x00, 0x9F },
		{ 0x42a7, 0x00, 0xE5 },
		{ 0x42a8, 0x00, 0x00 },
		{ 0x42a9, 0x00, 0x10 },
		{ 0x42aa, 0x00, 0x91 },
		{ 0x42ab, 0x00, 0xE5 },
		{ 0x42ac, 0x00, 0x08 },
		{ 0x42ad, 0x00, 0x00 },
		{ 0x42ae, 0x00, 0x8D },
		{ 0x42af, 0x00, 0xE5 },
		{ 0x42b0, 0x00, 0x5B },
		{ 0x42b1, 0x00, 0x4C },
		{ 0x42b2, 0x00, 0x02 },
		{ 0x42b3, 0x00, 0xEB },
		{ 0x42b4, 0x00, 0x00 },
		{ 0x42b5, 0x00, 0xA0 },
		{ 0x42b6, 0x00, 0xA0 },
		{ 0x42b7, 0x00, 0xE1 },
		{ 0x42b8, 0x00, 0x1D },
		{ 0x42b9, 0x00, 0x00 },
		{ 0x42ba, 0x00, 0x00 },
		{ 0x42bb, 0x00, 0xEA },
		{ 0x42bc, 0x00, 0x03 },
		{ 0x42bd, 0x00, 0x00 },
		{ 0x42be, 0x00, 0x56 },
		{ 0x42bf, 0x00, 0xE3 },
		{ 0x42c0, 0x00, 0x0B },
		{ 0x42c1, 0x00, 0x00 },
		{ 0x42c2, 0x00, 0x00 },
		{ 0x42c3, 0x00, 0xDA },
		{ 0x42c4, 0x00, 0x0C },
		{ 0x42c5, 0x00, 0x30 },
		{ 0x42c6, 0x00, 0x9D },
		{ 0x42c7, 0x00, 0xE5 },
		{ 0x42c8, 0x00, 0x01 },
		{ 0x42c9, 0x00, 0x50 },
		{ 0x42ca, 0x00, 0x85 },
		{ 0x42cb, 0x00, 0xE2 },
		{ 0x42cc, 0x00, 0x05 },
		{ 0x42cd, 0x00, 0x00 },
		{ 0x42ce, 0x00, 0x53 },
		{ 0x42cf, 0x00, 0xE1 },
		{ 0x42d0, 0x00, 0x00 },
		{ 0x42d1, 0x00, 0x60 },
		{ 0x42d2, 0x00, 0xA0 },
		{ 0x42d3, 0x00, 0xC3 },
		{ 0x42d4, 0x00, 0x06 },
		{ 0x42d5, 0x00, 0x00 },
		{ 0x42d6, 0x00, 0x00 },
		{ 0x42d7, 0x00, 0xCA },
		{ 0x42d8, 0x00, 0xA8 },
		{ 0x42d9, 0x00, 0x30 },
		{ 0x42da, 0x00, 0x9F },
		{ 0x42db, 0x00, 0xE5 },
		{ 0x42dc, 0x00, 0x08 },
		{ 0x42dd, 0x00, 0x00 },
		{ 0x42de, 0x00, 0xA0 },
		{ 0x42df, 0x00, 0xE1 },
		{ 0x42e0, 0x00, 0x00 },
		{ 0x42e1, 0x00, 0x60 },
		{ 0x42e2, 0x00, 0xA0 },
		{ 0x42e3, 0x00, 0xE3 },
		{ 0x42e4, 0x00, 0x00 },
		{ 0x42e5, 0x00, 0x10 },
		{ 0x42e6, 0x00, 0x93 },
		{ 0x42e7, 0x00, 0xE5 },
		{ 0x42e8, 0x00, 0x4D },
		{ 0x42e9, 0x00, 0x4C },
		{ 0x42ea, 0x00, 0x02 },
		{ 0x42eb, 0x00, 0xEB },
		{ 0x42ec, 0x00, 0x06 },
		{ 0x42ed, 0x00, 0x50 },
		{ 0x42ee, 0x00, 0xA0 },
		{ 0x42ef, 0x00, 0xE1 },
		{ 0x42f0, 0x00, 0x00 },
		{ 0x42f1, 0x00, 0xB0 },
		{ 0x42f2, 0x00, 0xA0 },
		{ 0x42f3, 0x00, 0xE1 },
		{ 0x42f4, 0x00, 0x98 },
		{ 0x42f5, 0x00, 0x30 },
		{ 0x42f6, 0x00, 0x9F },
		{ 0x42f7, 0x00, 0xE5 },
		{ 0x42f8, 0x00, 0x04 },
		{ 0x42f9, 0x00, 0x20 },
		{ 0x42fa, 0x00, 0xA0 },
		{ 0x42fb, 0x00, 0xE1 },
		{ 0x42fc, 0x00, 0x08 },
		{ 0x42fd, 0x00, 0x00 },
		{ 0x42fe, 0x00, 0x9D },
		{ 0x42ff, 0x00, 0xE5 },
		{ 0x4300, 0x00, 0x00 },
		{ 0x4301, 0x00, 0x10 },
		{ 0x4302, 0x00, 0x93 },
		{ 0x4303, 0x00, 0xE5 },
		{ 0x4304, 0x00, 0x46 },
		{ 0x4305, 0x00, 0x4C },
		{ 0x4306, 0x00, 0x02 },
		{ 0x4307, 0x00, 0xEB },
		{ 0x4308, 0x00, 0x88 },
		{ 0x4309, 0x00, 0x30 },
		{ 0x430a, 0x00, 0x9F },
		{ 0x430b, 0x00, 0xE5 },
		{ 0x430c, 0x00, 0x01 },
		{ 0x430d, 0x00, 0x40 },
		{ 0x430e, 0x00, 0x84 },
		{ 0x430f, 0x00, 0xE2 },
		{ 0x4310, 0x00, 0x00 },
		{ 0x4311, 0x00, 0x10 },
		{ 0x4312, 0x00, 0x93 },
		{ 0x4313, 0x00, 0xE5 },
		{ 0x4314, 0x00, 0x00 },
		{ 0x4315, 0x00, 0x30 },
		{ 0x4316, 0x00, 0xA0 },
		{ 0x4317, 0x00, 0xE3 },
		{ 0x4318, 0x00, 0x04 },
		{ 0x4319, 0x00, 0x30 },
		{ 0x431a, 0x00, 0x8D },
		{ 0x431b, 0x00, 0xE5 },
		{ 0x431c, 0x00, 0x06 },
		{ 0x431d, 0x00, 0x30 },
		{ 0x431e, 0x00, 0xA0 },
		{ 0x431f, 0x00, 0xE1 },
		{ 0x4320, 0x00, 0x00 },
		{ 0x4321, 0x00, 0x50 },
		{ 0x4322, 0x00, 0x8D },
		{ 0x4323, 0x00, 0xE5 },
		{ 0x4324, 0x00, 0x01 },
		{ 0x4325, 0x00, 0x60 },
		{ 0x4326, 0x00, 0x86 },
		{ 0x4327, 0x00, 0xE2 },
		{ 0x4328, 0x00, 0x00 },
		{ 0x4329, 0x00, 0x20 },
		{ 0x432a, 0x00, 0xA0 },
		{ 0x432b, 0x00, 0xE1 },
		{ 0x432c, 0x00, 0x0B },
		{ 0x432d, 0x00, 0x00 },
		{ 0x432e, 0x00, 0xA0 },
		{ 0x432f, 0x00, 0xE1 },
		{ 0x4330, 0x00, 0x3B },
		{ 0x4331, 0x00, 0x4C },
		{ 0x4332, 0x00, 0x02 },
		{ 0x4333, 0x00, 0xEB },
		{ 0x4334, 0x00, 0x0A },
		{ 0x4335, 0x00, 0x00 },
		{ 0x4336, 0x00, 0x54 },
		{ 0x4337, 0x00, 0xE1 },
		{ 0x4338, 0x00, 0xDF },
		{ 0x4339, 0x00, 0xFF },
		{ 0x433a, 0x00, 0xFF },
		{ 0x433b, 0x00, 0xBA },
		{ 0x433c, 0x00, 0x58 },
		{ 0x433d, 0x00, 0x10 },
		{ 0x433e, 0x00, 0x9F },
		{ 0x433f, 0x00, 0xE5 },
		{ 0x4340, 0x00, 0x08 },
		{ 0x4341, 0x00, 0x00 },
		{ 0x4342, 0x00, 0xA0 },
		{ 0x4343, 0x00, 0xE1 },
		{ 0x4344, 0x00, 0x00 },
		{ 0x4345, 0x00, 0x10 },
		{ 0x4346, 0x00, 0x91 },
		{ 0x4347, 0x00, 0xE5 },
		{ 0x4348, 0x00, 0x35 },
		{ 0x4349, 0x00, 0x4C },
		{ 0x434a, 0x00, 0x02 },
		{ 0x434b, 0x00, 0xEB },
		{ 0x434c, 0x00, 0x4C },
		{ 0x434d, 0x00, 0x10 },
		{ 0x434e, 0x00, 0x9F },
		{ 0x434f, 0x00, 0xE5 },
		{ 0x4350, 0x00, 0x08 },
		{ 0x4351, 0x00, 0x00 },
		{ 0x4352, 0x00, 0xA0 },
		{ 0x4353, 0x00, 0xE1 },
		{ 0x4354, 0x00, 0x00 },
		{ 0x4355, 0x00, 0x20 },
		{ 0x4356, 0x00, 0xA0 },
		{ 0x4357, 0x00, 0xE3 },
		{ 0x4358, 0x00, 0x00 },
		{ 0x4359, 0x00, 0x10 },
		{ 0x435a, 0x00, 0x91 },
		{ 0x435b, 0x00, 0xE5 },
		{ 0x435c, 0x00, 0x30 },
		{ 0x435d, 0x00, 0x4C },
		{ 0x435e, 0x00, 0x02 },
		{ 0x435f, 0x00, 0xEB },
		{ 0x4360, 0x00, 0x18 },
		{ 0x4361, 0x00, 0xD0 },
		{ 0x4362, 0x00, 0x47 },
		{ 0x4363, 0x00, 0xE2 },
		{ 0x4364, 0x00, 0x00 },
		{ 0x4365, 0x00, 0x0D },
		{ 0x4366, 0x00, 0xBD },
		{ 0x4367, 0x00, 0xE8 },
		{ 0x4368, 0x00, 0xF0 },
		{ 0x4369, 0x00, 0x80 },
		{ 0x436a, 0x00, 0xBD },
		{ 0x436b, 0x00, 0xE8 },
		{ 0x436c, 0x00, 0xF8 },
		{ 0x436d, 0x00, 0x2A },
		{ 0x436e, 0x00, 0x0A },
		{ 0x436f, 0x00, 0x00 },
		{ 0x4370, 0x00, 0x74 },
		{ 0x4371, 0x00, 0x28 },
		{ 0x4372, 0x00, 0x0A },
		{ 0x4373, 0x00, 0x00 },
		{ 0x4374, 0x00, 0x84 },
		{ 0x4375, 0x00, 0x23 },
		{ 0x4376, 0x00, 0x0A },
		{ 0x4377, 0x00, 0x00 },
		{ 0x4378, 0x00, 0xA0 },
		{ 0x4379, 0x00, 0x41 },
		{ 0x437a, 0x00, 0x0A },
		{ 0x437b, 0x00, 0x00 },
		{ 0x437c, 0x00, 0x78 },
		{ 0x437d, 0x00, 0x23 },
		{ 0x437e, 0x00, 0x0A },
		{ 0x437f, 0x00, 0x00 },
		{ 0x4380, 0x00, 0x7C },
		{ 0x4381, 0x00, 0x23 },
		{ 0x4382, 0x00, 0x0A },
		{ 0x4383, 0x00, 0x00 },
		{ 0x4384, 0x00, 0x94 },
		{ 0x4385, 0x00, 0x36 },
		{ 0x4386, 0x00, 0x0A },
		{ 0x4387, 0x00, 0x00 },
		{ 0x4388, 0x00, 0x20 },
		{ 0x4389, 0x00, 0x40 },
		{ 0x438a, 0x00, 0x0A },
		{ 0x438b, 0x00, 0x00 },
		{ 0x438c, 0x00, 0x24 },
		{ 0x438d, 0x00, 0x40 },
		{ 0x438e, 0x00, 0x0A },
		{ 0x438f, 0x00, 0x00 },
		{ 0x4390, 0x00, 0x90 },
		{ 0x4391, 0x00, 0x24 },
		{ 0x4392, 0x00, 0x0A },
		{ 0x4393, 0x00, 0x00 },
		{ 0x4394, 0x00, 0xC0 },
		{ 0x4395, 0x00, 0x25 },
		{ 0x4396, 0x00, 0x0A },
		{ 0x4397, 0x00, 0x00 },
		{ 0x4398, 0x00, 0x28 },
		{ 0x4399, 0x00, 0x40 },
		{ 0x439a, 0x00, 0x0A },
		{ 0x439b, 0x00, 0x00 },
		{ 0x439c, 0x00, 0x2C },
		{ 0x439d, 0x00, 0x40 },
		{ 0x439e, 0x00, 0x0A },
		{ 0x439f, 0x00, 0x00 },
		{ 0x43a0, 0x00, 0x84 },
		{ 0x43a1, 0x00, 0x29 },
		{ 0x43a2, 0x00, 0x0A },
		{ 0x7c0f0, 0x00, 0x04 },
		{ 0x7c0f1, 0x00, 0xf0 },
		{ 0x7c0f2, 0x00, 0x1f },
		{ 0x7c0f3, 0x00, 0xe5 },
		{ 0x7c0f4, 0x00, 0x00 },
		{ 0x7c0f5, 0x00, 0x52 },
		{ 0x7c0f6, 0x00, 0x00 },
		{ 0x7c0f7, 0x00, 0x00 },

		{ 0x7d964, 0x00, 0x00 },
		{ 0x7d965, 0x00, 0x00 },
		{ 0x7d966, 0x00, 0x00 },
		{ 0x7d967, 0x00, 0x00 },
		{ 0, 0, 0 }
	};

	patchBytes("/System/Library/CoreServices/SpringBoard.app/SpringBoard", 787136, patches, 0);
}


